﻿using Dapper;
using Estsh.Core.Base;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estsh.Core.Wms.IRepositories
{
    public interface IOutSourceBackRepository : IBaseRepository<BaseEntity>
    {
        public List<WmsInstock> GetOutSourceBackOrderList(string orderNo);
        public List<WmsInstock> GetOutSourceBackOrderListByOrderNo(string orderNo);
        public List<SysLocate> GetLocateByLocateName(string locateName);
        public SysStock GetStackQtySumByLocateName(string locateName);
        public List<SysStock> GetStackInfoByCartonNo(string cartonNo);
        public List<SysLocate> GetLocateByLocateNamePartNo(string locateName);
        public List<WmsInstock> GetInstockByOrderNo(string orderNo);
        public List<WmsInstockDetail> GetInstockDetailByOrderNoPartNo(string orderNo, string partNo);
        public List<WmsInstockSn> GetInstockSnByOrderNo(string orderNo);
        public List<WmsInstockSn> GetInstockSnByOrderNoCartonNo(string orderNo, string cartonNo);
        public List<WmsInstock> GetInstockInfoByOrderNo(string orderNo);
        public List<WmsInstockDetail> GetInstockDetailQtySumByOrderNo(string orderNo);
        public List<WmsInstockDetail> GetFinishInStockDetailByOrderNo(string orderNo);
        public SysPart GetPartNOInfoByPartNo(string partNo);
        public List<SysLocate> GetLocateZoneByLocateName(string locateName);
        public int SQLTransaction(List<string> sqlStrings, List<DynamicParameters> parameterList);
    }
}
